WIP: Isolate ARMBUILD-Ubuntu-24.04-arm CI for failure diagnosis#5948
WIP: Isolate ARMBUILD-Ubuntu-24.04-arm CI for failure diagnosis#5948hjmjohnson wants to merge 4 commits intoInsightSoftwareConsortium:mainfrom
Conversation
Temporarily disable all CI pipelines except the ARM Ubuntu build to isolate dashboard failures for debugging. - arm.yml: Remove x86_64-rosetta and Python matrix entries - pixi.yml: Comment out PR trigger - Azure pipelines: Set pr: none for Linux, LinuxPython, MacOS, MacOSPython, Windows, WindowsPython Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
FYI: The following build warnings only show up under the linux arm builds: └─[0] rg "warning: " 1_ARMBUILD-Ubuntu-24.04-arm.txt|fgrep -v libpng (isolate-arm-ci-failures|…1⚑9)
2026-03-13T23:54:34.6885757Z ../Modules/ThirdParty/Eigen3/src/itkeigen/Eigen/src/Core/products/SelfadjointMatrixVector.h:224:51: warning: 'result' may be used uninitialized [-Wmaybe-uninitialized]
2026-03-13T23:54:34.6934207Z ../Modules/ThirdParty/Eigen3/src/itkeigen/Eigen/src/Core/products/SelfadjointMatrixVector.h:224:51: warning: 'result' may be used uninitialized [-Wmaybe-uninitialized]
2026-03-13T23:54:34.6951147Z ../Modules/ThirdParty/Eigen3/src/itkeigen/Eigen/src/Core/products/SelfadjointMatrixVector.h:224:51: warning: 'result' may be used uninitialized [-Wmaybe-uninitialized]
2026-03-14T00:06:13.5784560Z ../Modules/ThirdParty/Eigen3/src/itkeigen/Eigen/src/Core/products/SelfadjointMatrixVector.h:224:51: warning: 'result' may be used uninitialized [-Wmaybe-uninitialized]
2026-03-14T00:06:56.2395410Z ../Modules/ThirdParty/Eigen3/src/itkeigen/Eigen/src/Core/products/SelfadjointMatrixVector.h:224:51: warning: 'result' may be used uninitialized [-Wmaybe-uninitialized]
2026-03-14T00:08:56.5683796Z ../Modules/ThirdParty/Eigen3/src/itkeigen/Eigen/src/Core/products/SelfadjointMatrixVector.h:224:51: warning: 'result' may be used uninitialized [-Wmaybe-uninitialized]
2026-03-14T00:24:19.7212980Z ../Modules/ThirdParty/Eigen3/src/itkeigen/Eigen/src/Core/products/SelfadjointMatrixVector.h:224:51: warning: 'result' may be used uninitialized [-Wmaybe-uninitialized]
2026-03-14T00:24:19.7420150Z ../Modules/ThirdParty/Eigen3/src/itkeigen/Eigen/src/Core/products/SelfadjointMatrixVector.h:224:51: warning: 'result' may be used uninitialized [-Wmaybe-uninitialized]and there were some changes made to EIgen yesterday. |
|
A little AI evaluation of the differences for the passing and failing logs is narrowing down the issue with what look to be very plausible: ⏺ The ThirdParty patterns on lines 80-92 use a format like ".*[/\\][Mm]odules[/\\][Tt]hird[Pp]arty[/\\][Specific]..." but there's no Eigen3 entry. Lines 127 and 130 add GoogleTest and DoubleConversion entries. But the Eigen3 warnings have this path format: ../Modules/ThirdParty/Eigen3/src/itkeigen/Eigen/src/Core/... Let me check if the existing ThirdParty warning exceptions match this. The patterns on lines 80-92 are for specific subdirectories (DICOMParser, Expat, JPEG, etc.) — there's no catch-all for all of ThirdParty. The warning is: Eigen/src/Core/products/SelfadjointMatrixVector.h:224:51: warning: 'result' may be used uninitialized [-Wmaybe-uninitialized] This only appears on GCC (Ubuntu ARM) and not on Clang (macOS Rosetta), which is typical for -Wmaybe-uninitialized — it's a GCC-only warning that Clang doesn't produce. Root cause: The ARMBUILD-Ubuntu-24.04-arm CI fails because GCC on ARM produces 8 -Wmaybe-uninitialized warnings from Eigen3's SelfadjointMatrixVector.h, which are counted by ctest_build(NUMBER_WARNINGS build_warnings). The itk_common.cmake script (line 495-498) treats any The Rosetta build passes because Clang doesn't emit -Wmaybe-uninitialized. |
|
@blowekamp FYI: ⏺ Based on the analysis, the GCC -Wmaybe-uninitialized warnings from Eigen3's SelfadjointMatrixVector.h have been fixed upstream through a substantial rewrite of the algorithm. The warning-triggering code no longer exists in the upstream version. |
|
@seanm ref#5876 There are more warnings suppression here for the third party than I realized: Adding Eigen3 here seem reasonable if that is the convention. I am not sure how the changed yesterday caused this warning to be emitted, maybe it was already being suppressed somehow. |
|
how about this: #5949 |
e2dd0ca to
131f614
Compare
131f614 to
06fa5c6
Compare
Add patterns to CTEST_CUSTOM_ERROR_EXCEPTION for test output that CDash incorrectly flags as errors. These include "--- ERROR ---" banners from expected exception handling, itk::ExceptionObject traces, and known expected-exception descriptions that appear in passing tests. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Summary
-Wmaybe-uninitializedwarnings from ThirdParty Eigen3 viaCTEST_CUSTOM_WARNING_EXCEPTIONCTEST_CUSTOM_ERROR_EXCEPTIONfor expected test output (e.g.,"--- ERROR ---"banners from caught exceptions,itk::ExceptionObjecttraces)Root Cause
-Wmaybe-uninitializedwarnings from Eigen3'sSelfadjointMatrixVector.h. Theitk_common.cmakedashboard script treatsbuild_warnings > 0as CI failure. These warnings are fixed upstream (Eigen commit662d5c21f)."--- ERROR ---"from expected exception handling) as build errors despite tests passing.Commits
WIP: Disable all CI builds except ARMBUILD-Ubuntu-24.04-arm— CI isolation (to be reverted)COMP: suppress some third party warnings on cdash— Add ThirdParty warning exceptionsCOMP: Suppress warnings from ThirdParty Eigen module— Add Eigen-specific warning suppressionCOMP: Add false-positive error exceptions for expected ITK test output— Suppress false-positive CDash errorsTest plan
🤖 Generated with Claude Code